<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 选择排序 : 在数组里查找最小值 然后 放在最左边  重复循环查找直到 数组排列完成 


        var arr = [3, 4, 2, 1];
        // 第一次：找到最小值   和最小替换
        // arr = [1,4,2,3]


        // 第二次 ： arr = [1,4,2,3]    ---->arr = [4,2,3] 找最小值  然后再替换位置 ---> [1,2,4,3]


        // 第三次  ： arr = [1,2,4,3]  ---> arr = [4,3] 找最小值  替换位置 [3,4]  --->[1,2,3,4]



        // 第一次比较
        // 假设 第一个元素就是最小值 
        // var min = arr[0];

        // var minIndex = 0;
        // for(var i=1+0;i<arr.length;i++){
        //     if(arr[i]<arr[minIndex]){
        //         // 记录最小值的索引位置；
        //         minIndex = i;
        //     }
        // }
        // console.log(minIndex);  //最小值的索引 

        // // minIndex  一定是数组里最小值的索引值；

        // // 最小值 和 假设最小值 互换位置 ；
        // var temp = arr[0];
        // arr[0] = arr[minIndex];
        // arr[minIndex] =  temp;
        // console.log(arr)
        // // 第一个元素 一定是最小的 ；

        // //  arr = [1,4,2,3];  ---> arr=[4,2,3];



        // // 第二次比较
        // // 假设 第一个是最小值 
        // var minIndex = 1;
        // for(var j=1+1;j<arr.length;j++){
        //     if(arr[j]<arr[minIndex]){
        //         minIndex = j;
        //     }
        // }

        // // console.log(minIndex);
        // var temp = arr[1];
        // arr[1] = arr[minIndex];
        // arr[minIndex] = temp;
        // console.log(arr); // [1,2,4,3]  ---->[4,3]





        // // 第三次；
        // var minIndex = 2;
        // for(var j=1+2;j<arr.length;j++){
        //     if(arr[j]<arr[minIndex]){
        //         minIndex = j;
        //     }
        // }

        // // console.log(minIndex);
        // var temp = arr[2];
        // arr[2] = arr[minIndex];
        // arr[minIndex] = temp;
        // console.log(arr);






        // 通过一个循环来写 ；


        for (var j = 0; j < arr.length - 1; j++) {
            var minIndex = j;
            for (var i = 1 + j; i < arr.length; i++) {
                if (arr[i] < arr[minIndex]) {
                    // 记录最小值的索引位置；
                    minIndex = i;
                }
            }
            // console.log(minIndex);  //最小值的索引 
            var temp = arr[j];
            arr[j] = arr[minIndex];
            arr[minIndex] = temp;
            // console.log(arr)
        }

        console.log(arr);


    </script>
</body>

</html>